﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Practico2.DataAccess;
using Practico2.DataTypes;

namespace Practico2.Business
{
    public class UsuariosService
    {

        private static UsuariosService instance;


        private UsuariosService()
        {
            // nothing to do..
        }

        public static UsuariosService getInstance()
        {
            if (instance == null)
            {
                instance = new UsuariosService();
            }
            return instance;
        }


        /// <summary>
        /// Crea un nuevo usuario con los datos indicados
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns>El identificador del usuario recien creado</returns>
        public Int32 nuevoUsuario(Usuario usuario)
        {
            try
            {

                return 0;
            }
            catch (Exception ex)
            {
                // loggear en algun ladooo
                throw ex;
            }
            
        }

        /// <summary>
        /// Obtiene el usuario cuyo id es idUsuario o null si no existe
        /// </summary>
        /// <param name="idUsuario"></param>
        /// <returns></returns>
        public Usuario obtenerUsuario(Int32 idUsuario)
        {
            return null;
        }

        /// <summary>
        /// Obtiene la lista completa de usuarios del sistema
        /// </summary>
        /// <returns></returns>
        public List<Usuario> obtenerUsuarios()
        {
            return new List<Usuario>();
        }


        /// <summary>
        /// Valida si el nombre de usuario y la contraseña son correctas
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <returns>true si el par usuario&password es correcto, false en caso contrario</returns>
        public Boolean CredencialesValidas(string username, string password)
        {
            return (UsuarioDataAccess.CredencialesValidas(username, password) != null);
        }


    }
}
